// 引入公共请求函数 request
import {
	request,
	upload
} from "@/utils/request.js";

// 
import {
	ElMessage,
} from 'element-plus';

// 挂载工具包
import util from "@/utils/util";

// pinia
import {
	useUserStore,
	useConfigStore,
} from "@/stores";


// 获取列表
async function getlist(url, data, method = 'get') {
	const res = await request({
		method,
		url,
		load: true,
		data,
		alert: true,
	})
	return res.data || res.rows || [];
}

// 获取分页列表
async function getPaginglist(url, data, method = 'get') {
	return await request({
		method,
		url,
		load: true,
		data,
		alert: true,
	})
}

// 获取对象
async function getInfo(url, data, method = 'get') {
	const res = await request({
		method,
		url,
		load: true,
		data,
		alert: true,
	})
	return res.data || {};
}

// 操作不需要返回参数的接口处理
async function handle(url, data, method = 'get') {
	const res = await request({
		method,
		url,
		load: true,
		data,
		alert: true,
	})

	// util.alert('操作成功！');
	return true;
}


// 抛出 对象
export default {

	// 上传
	async upload(file) {
		const res = await upload({
			file,
		});
		return res;
	},

	// 查询所有的字典
	async getAllDict() {
		const res = await getInfo('', {}, 'get');

		// 替换
		useConfigStore().update(res)
	},

	// 获取用户信息
	async getUser() {

		// localStorage.setItem("token", '--');
		if (!localStorage.getItem("token")) return;
		// const res = await getInfo('/webApi/getUserInfo', {}, 'get');
		const res = await getPaginglist('/getInfoApp', {}, 'get');
		let userinfo = res.user;
		userinfo.roles = res.roles;
		useUserStore().update(userinfo)
		return '';
	},

	// 首页
	index: {

		// 轮播图列表
		getBanner(data = {
			type: 1
		}) {
			return getlist('/webApi/nologin/list', data, 'get');
		},
	},

	// 分页
	pagingApis: { // 获取公告列表--分页
		getNotice(data = {}) {
			return getPaginglist('/webApi/nologin/tNotice/list', data, 'get');
		},
	},

	// 详情
	details: { // 获取公告-详情
		getNotice(id) {
			return getInfo(`/webApi/nologin/tNotice/${id}`, {}, 'get');
		},
	},

	// 用户
	user: {

		// 登录
		async login(data) {
			return await request({
				method: 'post',
				headers: {
					"Content-Type": "application/json;charset=UTF-8",
				},
				url: "/loginXcx",
				data,
				alert: true,
			})
		},

		// 用户注冊信息
		register(data = {}) {
			return handle('/webApi/nologin/register', data, 'get');
		},

	},

	// 文件
	file: {},

};